Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Лабораторна робота №6 Програмування, ч3

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Кафедра ЕОМ

Інформація про роботу

Рік:
2017
Тип роботи:
Лабораторна робота
Предмет:
Програмування алгоритмів цифрової обробки сигналів та зображень

Частина тексту файла

Міністерство освіти і науки України Національний університет „Львівська політехніка” Кафедра ЕОМ / Звіт про виконання лабораторної роботи №6 на тему: «Структура даних Список» Варіант № 2 Мета: вивчення фундаментальної абстрактної структури даних списку. Набуття практичних навичок побудови списку, дослідження динаміки його вмісту та використання списків для розв'язання прикладних задач. Вибір варіанту: мій номер у журналі 2, перша літера прізвища-“Б” отже варіант 2; Постановка задачі: Побудувати динамічну структуру даних список, реалізований за допомогою зв’язаних вузлів. Варіант 2: написати програму, яка будує лінійний зв’язаний список, що містить N великих літер латинського алфавіту, які вводяться з клавіатури, і перевіряє, чи будуть вузли списку впорядковані за алфавітом. (Примітка: великі літери латинського алфавіту в таблиці ASCII мають номери від 65 до 90 ). Результат виконання програми: / Рис.1 Резельтат виконання програми Спеціфікація програми #include <iostream> using namespace std; class LinkedList { private: int _size; struct Node { char data; Node* next; } *head; bool compare(Node* head, Node* headToCompare) { if(head == nullptr && headToCompare == nullptr) { return true; } else { if(head == nullptr || headToCompare == nullptr) return false; else if(head->data != headToCompare->data) return false; else return compare(head->next, headToCompare->next); } } public: LinkedList() { _size = 0; head = nullptr; }; ~LinkedList() { struct Node *tmpNode; while(head) { tmpNode = head; head = tmpNode->next; delete tmpNode; } }; void add(char n) { auto *newNode = new Node; newNode->data = n; newNode->next = nullptr; _size++; if (head == nullptr) { head = newNode; return; } Node *cur = head; while(cur) { if(cur->next == nullptr) { cur->next = newNode; return; } cur = cur->next; } } void insertFront(char n) { auto *newNode = new Node; newNode->data = n; newNode->next = head; head = newNode; _size++; } Node* search(char n) { Node *cur = head; while(cur) { if(cur->data == n) { return cur; } cur = cur->next; } cout << "No Node " << n << " in list.\n"; return nullptr; } bool remove(char n) { Node* cur = head; if(n == head->data) { head = cur->next; delete cur; return true; } while(cur) { if(cur->next->data == n) { Node* del = cur->next; cur->next = cur->next->next; delete del; return true; } cur = cur->next; } _size--; return false; } LinkedList* reverse() { Node *parent = head; Node *me = parent->next; Node *child = me->next; parent->next = nullptr; while(child) { me->next = parent; parent = me; me = child; child = child->next; } me->next = parent; auto * out = new LinkedList(); out->head = me; out->_size = this->_size; return out; } bool compare(LinkedList* list) { if(head == nullptr && list->head == nullptr) { return true; } else { ...
Антиботан аватар за замовчуванням

28.05.2019 18:05

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини